package com.atguigu.java;

import org.junit.Test;

import java.util.Date;

/**
 * @author yihu
 * @create 2021-02-26 11:35
 * @email: 1057202547@qq.com
 * @dec:
 */
public class DateTimeTest {
    //1.System类中的currentTimeMillis()
    @Test
    public  void  test1(){
        //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。  ----称为时间戳
        long time = System.currentTimeMillis();
        System.out.println(time);
    }

    /*
    java.util.Date类
           |---java.sql.Date类

    1.两个构造器的使用
        >构造器一：Date()：创建一个对应当前时间的Date对象
        >构造器二：创建指定毫秒数的Date对象
    2.两个方法的使用
        >toString():显示当前的年、月、日、时、分、秒
        >getTime():获取当前Date对象对应的毫秒数。（时间戳）

    3. java.sql.Date对应着数据库中的日期类型的变量
        >如何实例化
        >如何将java.util.Date对象转换为java.sql.Date对象
     */

    @Test
    public  void test2(){
        //构造器一：Date() 创建一个对应当前时间的Date对象
        Date date = new Date();
        System.out.println(date.toString());//Fri Feb 26 11:46:24 CST 2021
        System.out.println(date.getTime()); //1614311349163

        //构造器二：创建指定毫秒数的Date对象
        Date date2 = new Date(1614311349163L);
        System.out.println(date2.toString());


        //创建java.sql.Date对象
        java.sql.Date date3 = new java.sql.Date(1614311349163L);
        System.out.println(date3.toString()); //2021-02-26

        //如何将java.util.Date对象转换为java.sql.Date对象

        //情况一：
        //Date date4 = new java.sql.Date(2343243242323L);
        //java.sql.Date date5 = (java.sql.Date) date4;
        System.out.println("*****************************");
        Date date4 = new Date();
        java.sql.Date date5 =new java.sql.Date(date4.getTime());
        System.out.println(date5);
    }
}
